package dto

import (
	"seat-service/model"
	"time"
)

type ParamReserve struct {
	ClassroomID uint                   `json:"classroom_id"`
	Times       []ParamReserveSaveTime `json:"times"`
}

type ResponseClassroom struct {
	AllSelectable []model.Seat `json:"all_selectable"`
	PartOptional  []model.Seat `json:"part_optional"`
	NotOptional   []model.Seat `json:"not_optional"`
}

type SignInParam struct {
	StudentID   uint      `json:"student_id"`
	ClassroomID uint      `json:"classroom_id"`
	SeatID      uint      `json:"seat_id"`
	Longitude   float64   `json:"longitude"` // Longitude 经度
	Latitude    float64   `json:"latitude"`  // Latitude 纬度
	Time        time.Time `json:"time"`
}

type ParamReserveSave struct {
	ID          uint                   `json:"id"`
	ClassroomID uint                   `json:"classroom_id"`
	SeatID      uint                   `json:"seat_id"`
	Times       []ParamReserveSaveTime `json:"times"`
}

type ParamReserveSaveTime struct {
	Start time.Time `json:"start"`
	End   time.Time `json:"end"`
}
type RenewalDto struct {
	Start time.Time `json:"start"`
	End   time.Time `json:"end"`
}

type ParamTimestamp struct {
	ClassroomID uint        `json:"classroom_id"`
	Times       []Timestamp `json:"times"`
}
type Timestamp struct {
	Start int64 `json:"start"`
	End   int64 `json:"end"`
}

type ParamReserveSaveStamp struct {
	ID          uint        `json:"id"`
	ClassroomID uint        `json:"classroom_id"`
	SeatID      uint        `json:"seat_id"`
	Times       []Timestamp `json:"times"`
}
